查看原文
其他

简析"千层饼"式伪装方式的病毒

1行 看雪学苑 2022-07-01

本文为看雪论坛精华文章

看雪论坛作者ID:1行


  •   
    目录

    前言

  • 流程

  • 详细分析

  •      第一层文件

  •      第二层文件 AndroidStudio.dll

  •      第三层文件 Phobos勒索病毒

    总结






前言


有天看到一个分析Dridex银行木马的报告,想到自己对银行木马没什么了解,所以就从any.run上根据Dridex标签下载了一个样本来分析,结果分析到最后发现是一个Phobos勒索病毒,不过这个变种的伪装方式还是有分析价值的。





流程


利用CVE-2017-11882漏洞,在Excel文件打开时下载第一层恶意样本,第一层样本从资源段释放第二层恶意DLL,第二层恶意DLL利用第一层样本中的图片资源,异或解压缩提取出最终勒索病毒。





详细分析


恶意程序利用CVE-2017-11882漏洞下载主体文件。

下载恶意程序:但是网站已经挂了:不过从any.run上下载了一个包含下载的恶意文件的pacp包,用NetworkMiner_2-5把其中的恶意文件提取出来。下载文件的版本信息,看着没啥事情。发现是一个.net框架的恶意程序:打开发现是被混淆过的:使用DotNet Id查看到了恶意程序使用.Net Reactor混淆:从GitHub上下载了de4dot3.1,然后发现怎么试都不行:后来又下载了一个别人改编之后的 de4dot 然后才把混淆解开:再次打开恶意程序,基本上混淆已经没有了:

第一层文件


先看看文件有撒资源,发现了一个图片资源,很多恶意程序都会利用图片来保存恶意文件的二进制信息: 

从 Main 函数开始调试:base64解密资源段中的数据,加载 AndroidStudio.dll 到内存中:

第二层文件 AndroidStudio.dll


在内存中将恶意的动态链接库解析出来,上面的是有混淆的,下面的是去除了混淆了,两个结合起来调试分析:调用了恶意程序 AndroidStudio.dll 的导出函数 StartGame:
先sleep一会,然后获取第一层文件中的图片资源:对图片资源进行解密:对数据进行异或:异或之后的二进制数据:最后对数据进行解压缩:解压缩出第三层文件:

第三层文件 Phobos勒索病毒


第三层文件还是.net框架的:还是有混淆,将其去除混淆进行分析:直接开始调试,在程序入口点之前对一些数据进行操作:发现还会解密出来一个.net框架的文件,暂时先放放,一会再看他。使用WriteProcessMemory来将刚解密出来的文件加载到内存中:会运行一个powershell进程,来删除文件:

然后,可以在火绒剑上看到一直重复执行解密出来的第3层文件,然而一直不加密我的文件,不过勒索文件没啥意思,有意思的是这个样本的伪装方式。





总结


这个“千层饼”的伪装方式,还是有些意思的,从攻击者的视角来看,恶意的文件不落地,直接在内存中隐蔽执行了。

- End -



看雪ID:1行

https://bbs.pediy.com/user-home-860119.htm

  *本文由看雪论坛 1行 原创,转载请注明来自看雪社区。



2.5折优惠票数量有限,先到先得哦!

推荐文章++++

* 反汇编代码还原之特殊除法还原

* CVE-2009-0927POC分析

* 远控木马白加黑劫持 dll反射注入分析

* 使用Qiling IDA插件解密Mirai病毒数据

* CVE-2019-15666 xfrm_policy 提权漏洞







公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com



求分享

求点赞

求在看


“阅读原文”一起来充电吧!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存